草庐IT

c++ - SetNamedSecurityInfo 执行重启系统

我正在尝试更改文件夹的审核设置。当我在不同的机器上测试我的代码时,我发现SetNamedSecurityInfo调用会重新启动系统。这发生在一些机器上。一个弹出窗口生成说“Windows遇到安全问题并将在一分钟后重新启动”。我无法找出原因。任何帮助将不胜感激!HANDLEhProcess=GetCurrentProcess();HANDLEhToken;DWORDval;BOOLresult;result=OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken);if(result==0){printf("\nBreakAft

在 c 中为 Windows 操作系统创建中断

#include#include..intmain(){while(1){Timer1();//Timer1callsthefunctioncalledTASK1forevery2ms(CreateTimerQueueTimer)Timer2();//Timer2callsthefunctioncalledTASK2forevery10msTimer3();//Timer3callsthefunctioncalledTASK3forevery100ms}return0:}intTimer1()//ThisisonlyaTimer1code{intarg;HANDLETask1;HAND

c++ - 当用户按下 Ctrl 并单击时获取鼠标坐标

我想在用户按下Ctrl并同时单击时获取鼠标单击坐标X和Y。用户可以单击屏幕或程序上的任意位置。我希望我的程序在按下Ctrl键并且同时单击鼠标时捕获事件并获取坐标。我想获取系统坐标X和Y,而不是其他程序的窗口坐标。我正在使用C++。怎么做?Windows操作系统,WINAPI代码我正在做的下一步是行不通的:HHOOKMouseHook;LRESULTCALLBACKMouseHookProc(intnCode,WPARAMwParam,LPARAMlParam){PKBDLLHOOKSTRUCTk=(PKBDLLHOOKSTRUCT)(lParam);POINTp;if(wParam==

c++ - 使用 Windows Crypto API 和 C++ 的 PKCS #7 encryptedDigest 解密和验证

简介我正在尝试执行以下操作来检查证书的SignedData.SignerInfo.encryptedDigest:1)ReadSignedData.contentInfo+SignedData.SignerInfo.authenticatedAttributes2)CalculateHashofcontentInfoandauthenticatedAttributesusingSignedData.digestAlgorithm3)ReadSignerInfo.encryptedDigestandcertificate'sPUBLICkey4)DecryptencryptedDiges

c - cygwin 中的 gcc 编译器找不到 X 窗口目录

我正在尝试编译一个项目,该项目在我的/usr/include目录中包含来自X11的各种文件。它在远程linux机器上编译得很好,但是当我尝试运行make文件时,出现以下错误:$makeclean;makerm-fxrobot.omobile_base.oarm.oeye.oobject.o4D_math.oXkw/Canvas.oXkw/Slider.oXkw/Xkw.olib/simulator.a*~cd./Xkw;make;cd..;\make[1]:Enteringdirectory`C:/cygwin/home/Gene/roger/mmRogerSpring2014/Rog

c++ - 如何检测终止进程事​​件、计算机关闭和计算机崩溃

我正在尝试开发一个在后台(在Windows中)运行的C++MFC应用程序,但我有一个问题,我找不到完整的答案。我如何检测用户何时尝试通过任务管理器通过终止进程关闭它,何时通过关闭计算机关闭它以及何时运行此应用程序的计算机崩溃?知道我有一个与此应用程序交互的外部数据库(SQLServer2008)。 最佳答案 您可以按照上面的建议处理WM_QUIT。还有WM_QUERYENDSESSION及其家族。对于没有GUI的服务,使用RegisterServiceCtrlHandlerEx获取通知。另一方面,为了在您自己的应用程序崩溃时进行拦截

Windows UAC 的 C++ 问题

我有一个用C++编写的软件安装在大约1000台PC上,它在使用WindowsUAC时遇到了一些困难。我正在努力让事情正常进行,但我需要一些帮助来理解问题并找到正确的解决方案。情况如下:我需要在一些文本/xml文件中写入一些数据,所以我开始(在XP中)将它们写入可执行文件夹中。不推荐,我知道。当Vista启动时,所有文件都开始保存到VirtualStore文件夹中,这对我来说很好,所以我保持原样。当时我遇到了几个用户的一些问题(参见问题1),但我手动修复了它们,仅此而已。现在使用Windows8,我面临着不同的问题(问题2),我想一劳永逸地正确修复它们。第一个问题:使用WindowsVi

c - 在 Windows 中发出枚举监视器

我的任务是计算连接到运行我的用户模式代码的计算机的当前监视器(屏幕)的数量:intnCnt=0;if(!EnumDisplayMonitors(NULL,NULL,countMonitorsProc,(LPARAM)&nCnt)){//Error}BOOLcountMonitorsProc(HMONITORhMonitor,HDChdcMonitor,LPRECTlprcMonitor,LPARAMdwData){int*pCnt=(int*)dwData;(*pCnt)++;returnTRUE;}它在大多数情况下都有效,但在某些系统上EnumDisplayMonitors返回FAL

c++ - 有什么方法可以使用 win32 API 调用获取 MachineGuid(不是从注册表中手动读取)?

有没有什么方法可以使用win32API调用获取MachineGuid(而不是从注册表中手动读取)? 最佳答案 您应该能够获得GUID使用WMIWin32_ComputerSystemProduct类。 关于c++-有什么方法可以使用win32API调用获取MachineGuid(不是从注册表中手动读取)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22013541/

windows - 使用 setenv 设置 .NET 构建环境 - 两个警告 - 找不到 vsvars32.bat Visual C++ 似乎未安装

我正在尝试使用带有Yagarto的MSBUILD编译一些netmf固件。我正在一台安装了VS2012并安装了所有正确先决条件的机器上执行此操作。以管理员身份从命令提示符转到NetMFPortingKit文件夹,所有源代码都位于该文件夹中,我调用setenv_gcc.cmd4.6.0c:\yagarto46这样做会产生两个警告:警告:计数找不到vsvars32.bat警告:VisualC++似乎不是安装在这台机器上。当我以管理员身份从VS2012开发人员命令提示符尝试上述命令时,出现以下错误错误:无法确定VSCommonTools文件夹的位置。我已经在环境系统变量中完成了路径修改,但没有